#前面学习面向对象过程中，修改类属性都是直接通过类名修改的。
# 如果有些重要属性不想让别人随便修改，或者防止意外修改，该怎么办？
# 为了更好的保存属性安全，即不能随意修改，将属性定义为私有属性，添加一个可调用的方法去访问。

# 如何进行属性私有化？
# 两个下划线开头，声明该属性为私有，不能在类的外部被使用或直接访问。

# 私有化属性的特性
# 1、私有化属性不能在类外面访问。
# 2、私有化属性可以在类里面访问，修改。
# 3、子类不能继承私有化属性。

class Person:
    __name="小明"   #进行属性私有化，外界不能够随意调用
    def setName(self,name):   #修改私有属性
        Person.__name=name
        pass
    def getName(self):
        return Person.__name   #获取私有属性
    pass
class YaZhouRen(Person):
    def getName(self):
        return YaZhouRen.__name
    pass
xm=Person()
# print(xm.__name)   #实例对象不能够访问私有属性
# print(Person.__name)   #类对象不能够访问私有属性
print(xm.getName())
xm.setName("小红")
print(xm.getName())
yzr=YaZhouRen()
# print(yzr.__name)
yzr.getName()   #报错，子类不能继承父类的私有属性



